1. Technical Field of the Invention
This invention pertains source code processing. More particularly, it pertains to changing and compiling software source code when required processors are not locally available.
2. Background Art
More and more often companies are using workstations or remote mainframes to change or maintain mainframe (or host) software source code. Very often, the software source code must be processed by several programming language processors in sequence. For example, a set of programs may have to be processed by a database processor, such as IDMS or AdaBase, then by an on-line processor, such as CICS, and then by a programming language compiler, such as Cobol or PL/1.
Frequently, the language compiler is available on a workstation or remote mainframe but not all other required processors or tools, also referred to as preprocessors. This may be because the preprocessor does not operate in the environment of the workstation or remote mainframe, or is a dialectical variant, or because of licensing costs.
When making changes to software source code, it is very desirable, and usually a requirement, that the organization making the changes be able to at least completely compile the changed source code. This is a problem if that organization executes its work at a remote mainframe or workstation which does not include the required preprocessors.
The usual solution is to not compile source code which has been changed at a remote location (such as a work station or remote mainframe) until the changed source code has been returned to the host system (or local main frame, where the required preprocessors reside). This introduces additional change cycles as errors detected by compilation are fixed. If some quick link can be established between the local and remote systems, the remote system can submit compilations to the home system the process of changing the source code works quite well. However, this approach can be quite expensive and may also have usability and turn around time problems due to security gateways and differing protocols. There is, therefore, a need in the art for a system and method which allows remote compilation of source code during the change phase, and to do so in such a way that the resulting changed source code can be restored to a form which is usable at the host.
It is an object of the invention to provide an improved system and method for changing source code.
It is a further object of the invention to provide an improved system and method for allowing remote compilations during source code change phase.
It is a further object of the invention to provide a system and method for allowing remote compilations during source code change phase, where those compilations are no more difficult than local compilations.
It is a further object of the invention to provide a system and method for changing and compiling source code at a remote station which does not have required preprocessors.
It is a further object of the invention to provide a system and method for processing source code which is compilable at both local and remote locations, with required preprocessing tools available only at the local location.
It is a further object of the invention to provide a system and method for updating or processing source code at a remote location which has been preprocessed into a form which can be compiled at the remote location and returning remotely updated or processed source code to the local location in a form.
In accordance with the invention, a method is provided for updating a language source file. The source file is expanded and marked to form an expanded marked source file compilable without reference to a tools source file. The expanded marked source file is then modified to form a modified expanded marked source file. Then, the modified expanded marked source file is unmarked and unexpanded to form a modified source file compilable with reference to the tools source file.
In accordance with an aspect of the invention, there is provided a computer program product configured to be operable for updating a language source file according to the steps of expanding, marking, modifying, unmarking and unexpanding the source file.
Other features and advantages of this invention will become apparent from the following detailed description of the presently preferred embodiment of the invention, taken in conjunction with the accompanying drawings.